package com.seu.me.test.back;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import java.util.List;

/**
 * 个人立案事件信息
 *
 * @author liangfeihu
 * @since 2019/10/30 16:06
 */
@Data
@ToString
@NoArgsConstructor
@XmlAccessorType(XmlAccessType.FIELD)
public class CaseInfo {
    private String CaseNo;
    private String AccDate;
    private String ClaimMoney;
    private String AccidentType;
    private String AccResult1;
    private String AccResult2;
    private String HospitalCode;
    private String HospitalName;
    private String AccDetailSort;
    private String AccidentDetail;
    private String ClaimType;
    private String CureDesc;
    private String DeathDate;
    private String DeformityDate;
    private String ProvinceCode;
    private String CityCode;
    private String CountyCode;
    private String AddressDetail;
    private String AccdentDesc;
    private String SpecialSick;
    private String ChronicSick;
    private String Remark;
    private String copiedMaterialCount;
    private String clinical;
    private String coverageCode;
    private String deductiblePay;
    private String doctor;
    private String historyIllness;
    private String inDays;
    private String accidentInfo;
    private String critical;
    private String disableLevel;
    private String disableStandard;

    @XmlElement(name = "DutyInfoList")
    private DutyInfoData dutyInfoData;
    @XmlElement(name = "ESInfoList")
    private ESInfoData eSInfoData;
    @XmlElement(name = "BillInfoList")
    private BillInfoData billInfoData;

    @XmlElement(name = "ClaimBabyInfoList")
    private ClaimBabyInfoData claimBabyInfoData;

    @XmlElement(name = "ContrlRiskInfo")
    private ContrlRiskInfoData contrlRiskInfoData;

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class ContrlRiskInfoData {
        private String CRiskScore;

        @XmlElement(name = "ContrlRisInfoList")
        private ContrlRisInfoData contrlRisInfoData;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class ContrlRisInfoData {
        @XmlElements(value = {@XmlElement(name = "ContrlRisInfo", type = ContrlRisInfo.class)})
        List<ContrlRisInfo> contrlRisInfoList;
    }


    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class DutyInfoData {
        @XmlElements(value = {@XmlElement(name = "DutyInfo", type = DutyInfo.class)})
        List<DutyInfo> dutyInfoList;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class ESInfoData {
        @XmlElements(value = {@XmlElement(name = "ESInfo", type = ESInfo.class)})
        List<ESInfo> eSInfoList;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class BillInfoData {
        @XmlElements(value = {@XmlElement(name = "BillInfo", type = BillInfo.class)})
        List<BillInfo> billInfoList;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class ClaimBabyInfoData {
        @XmlElements(value = {@XmlElement(name = "ClaimBabyInfo", type = ClaimBabyInfo.class)})
        List<ClaimBabyInfo> claimBabyInfoList;
    }

}
